package com.zbkj.crmeb.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.zbkj.crmeb.store.model.ProductEnroll;
import com.zbkj.crmeb.store.request.ActivityProductEnrollRequest;
import com.zbkj.crmeb.store.request.ActivityProductSearchRequest;
import com.zbkj.crmeb.store.response.ActivityVerifyResponse;

import java.util.List;


/**
 * 活动商品接口
 */
public interface ActivityProductService extends IService<ProductEnroll> {
    
    /**
     * 分页查询
     * @Description:  
     * @author duyb
     * @param @param request pageParamRequest
     * @param @return
     * @return PageInfo<ActivityVerifyResponse>
     * @Date: 2022-11-10
     */
    PageInfo<ActivityVerifyResponse> verifyPageEntity(ActivityProductSearchRequest request, PageParamRequest pageParamRequest);

    /**
     * 分页查询
     * @Description:
     * @author duyb
     * @param @param request pageParamRequest
     * @param @return
     * @return PageInfo<ActivityVerifyResponse>
     * @Date: 2022-11-10
     */
    PageInfo<ActivityVerifyResponse> enrollPageEntity(ActivityProductSearchRequest request, PageParamRequest pageParamRequest);

    /**
     * 分页查询
     * @Description:
     * @author duyb
     * @param @param request pageParamRequest
     * @param @return
     * @return PageInfo<ActivityVerifyResponse>
     * @Date: 2022-11-10
     */
    PageInfo<ActivityVerifyResponse> pageEntity(ActivityProductSearchRequest request, PageParamRequest pageParamRequest);



    /**
     * 报名
     * @Description:
     * @author duyb
     * @param @param activityProductEnrollRequest
     * @return Boolean
     * @Date: 2022-11-10
     */
    Boolean saveEntity(ActivityProductEnrollRequest activityProductEnrollRequest);


    /**
     * 批量审核
     * @Description:
     * @author duyb
     * @param @param productEnrollList
     * @return Boolean
     * @Date: 2022-11-11
     */
    Boolean batchVerify(List<Integer> productEnrollList);

    /**
     * 审核
     * @Description:
     * @author duyb
     * @param @param ActivityProductEnrollRequest
     * @return Boolean
     * @Date: 2022-11-11
     */
    Boolean verify(ActivityProductEnrollRequest request);
}
